<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script>

//【示例1】下面代码显示对象实例与对象类型的toString()方法返回值是不同的。
function F(x,y){ 	// 构造函数
    this.x = x;
    this.y = y;
}
var f = new F(1,2);	// 实例化对象
alert(F.toString());	// 返回函数的源代码
alert(f.toString());	// 返回字符串"[object Object]"

Object.prototype.toString = function(){
    return this.constructor.toString();
}

alert(f.toString());	// 返回函数的源代码
//【示例2】当自定义类型时，用户可以重置toString()方法，以便准确跟踪自定义对象的数据类型。例如，对于自定义类型的toString()方法返回值为"[object Object]"，可以为自定义类型Me定义一个标识字符串"[object Me]"。
function Me(){}	// 自定义数据类型
Me.prototype.toString = function(){
	// 自定义Me数据类型的toString()方法
    return "[object Me]"; 
}
var me = new Me();
alert(me.toString());	// 返回"[object Me]"
alert(Object.prototype.toString.apply(me)); // 默认返回"[object Object]"

</script>
</head>

<body>
</body>
</html>
